package com.tiantian.user.domain.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.tiantian.common.core.validate.AddGroup;
import com.tiantian.common.core.validate.EditGroup;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * @author TianTian
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class NewcomerDto {

    /**
     * 用户id
     */
    @NotNull(message = "用户ID不能为空", groups = {AddGroup.class, EditGroup.class})
    private Long userId;

    /**
     * 真实姓名
     */
    @NotBlank(message = "真实姓名姓名不能为空")
    private String nickName;

    /**
     * 班级
     */
    @NotBlank(message = "班级不能为空")
    private String clasz;

    /**
     * 电话号码
     */
    @NotBlank(message = "电话号码不能为空")
    private String phonenumber;

    /**
     * 录取状态 0:进行中 1:未录取 2:已录取
     */
    @NotBlank(message = "录取状态不能为空")
    private String enrollStatus;

    /**
     * 用户邮箱
     */
    @Email(message = "邮箱格式不正确")
    private String email;

    /**
     * 用户性别 0女 1男
     */
    @NotBlank(message = "用户性别不能为空")
    private String sex;

    /**
     * 更新人
     */
    private String updateBy;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
}
